home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / dvc_cntl / mouseset / mousedmo.frm < prev    next >
Text File  |  1995-05-18  |  6KB  |  208 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Mouse Set and Restore Demo"
  6.    ClientHeight    =   1005
  7.    ClientLeft      =   2790
  8.    ClientTop       =   1905
  9.    ClientWidth     =   6150
  10.    Height          =   1440
  11.    Icon            =   MOUSEDMO.FRX:0000
  12.    Left            =   2715
  13.    LinkTopic       =   "Form1"
  14.    MaxButton       =   0   'False
  15.    ScaleHeight     =   1005
  16.    ScaleWidth      =   6150
  17.    Top             =   1545
  18.    Width           =   6300
  19.    Begin Timer Timer1 
  20.       Left            =   360
  21.       Top             =   480
  22.    End
  23.    Begin SSPanel Panel3D2 
  24.       Align           =   2  'Align Bottom
  25.       BorderWidth     =   2
  26.       ForeColor       =   &H00000000&
  27.       Height          =   615
  28.       Left            =   0
  29.       TabIndex        =   1
  30.       Top             =   390
  31.       Width           =   6150
  32.       Begin CommandButton Command1 
  33.          Caption         =   "&Help"
  34.          Height          =   375
  35.          Index           =   2
  36.          Left            =   4800
  37.          TabIndex        =   4
  38.          Top             =   120
  39.          Width           =   1215
  40.       End
  41.       Begin CommandButton Command1 
  42.          Caption         =   "E&xit"
  43.          Height          =   375
  44.          Index           =   1
  45.          Left            =   3480
  46.          TabIndex        =   3
  47.          Top             =   120
  48.          Width           =   1215
  49.       End
  50.       Begin CommandButton Command1 
  51.          Caption         =   "&Start Demo"
  52.          Height          =   375
  53.          Index           =   0
  54.          Left            =   120
  55.          TabIndex        =   2
  56.          Top             =   120
  57.          Width           =   3255
  58.       End
  59.    End
  60.    Begin SSPanel Panel3D1 
  61.       Align           =   1  'Align Top
  62.       BevelInner      =   1  'Inset
  63.       FloodColor      =   &H000000C0&
  64.       FloodShowPct    =   0   'False
  65.       FloodType       =   1  'Left To Right
  66.       ForeColor       =   &H00000000&
  67.       Height          =   375
  68.       Left            =   0
  69.       TabIndex        =   0
  70.       Top             =   0
  71.       Width           =   6150
  72.    End
  73. End
  74. ' MouseDmo.Frm - Demo MouseSet and MouseRestore
  75. ' 95/05/18 Copyright 1995, Larry Rebich, The Bridge, Inc.
  76.  
  77.     Option Explicit
  78.     DefInt A-Z
  79.  
  80. ' Command Indexes
  81.     Const IndexStart = 0
  82.     Const IndexExit = 1
  83.     Const IndexHelp = 2
  84.  
  85. ' MousePointer
  86.     Dim mArray(0 To 12) As String
  87.     Const m0 = "DEFAULT"        ' 0 - Default
  88.     Const m1 = "ARROW"          ' 1 - Arrow
  89.     Const m2 = "CROSSHAIR"      ' 2 - Cross
  90.     Const m3 = "IBEAM"          ' 3 - I-Beam
  91.     Const m4 = "ICON_POINTER"   ' 4 - Icon
  92.     Const m5 = "SIZE_POINTER"   ' 5 - Size
  93.     Const m6 = "SIZE_NE_SW"     ' 6 - Size NE SW
  94.     Const m7 = "SIZE_N_S"       ' 7 - Size N S
  95.     Const m8 = "SIZE_NW_SE"     ' 8 - Size NW SE
  96.     Const m9 = "SIZE_W_E"       ' 9 - Size W E
  97.     Const mA = "UP_ARROW"       ' 10 - Up Arrow
  98.     Const mB = "HOURGLASS"      ' 11 - Hourglass
  99.     Const mC = "NO_DROP"        ' 12 - No drop
  100.  
  101. ' Other
  102.     Dim SavedCaption As String
  103.     Const capStart = "&Start"
  104.     Const capStop = "&Stop"
  105.  
  106. Sub Command1_Click (Index As Integer)
  107.     Select Case Index
  108.         Case IndexStart
  109.             If Command1(Index).Caption = capStop Then
  110.                 StopDemo
  111.             Else
  112.                 DoDemo
  113.             End If
  114.         Case IndexExit
  115.             End
  116.         Case IndexHelp
  117.             DoHelp
  118.     End Select
  119. End Sub
  120.  
  121. Sub DoDemo ()
  122.     Timer1.Interval = 500
  123.     Timer1_Timer
  124.     Command1(IndexStart).Caption = capStop
  125. End Sub
  126.  
  127. Sub DoHelp ()
  128.     Dim a As String
  129.     Dim x As Integer
  130.     a = App.Path
  131.     If Right$(a, 1) <> "\" Then a = a & "\"
  132.     a = a & "MouseDmo.Hlp"
  133.     x = Shell("WinHelp.Exe " & a, 1)
  134. End Sub
  135.  
  136. Sub Form_Load ()
  137.     Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2   'center
  138.     SavedCaption = Caption          'save if stop pressed
  139.     LoadMArray          'set the mouse pointer description array
  140.     Const ACTIVE_TITLE_BAR = &H80000002     ' Active window caption.
  141.     Panel3D1.FloodColor = ACTIVE_TITLE_BAR  ' Set it
  142. End Sub
  143.  
  144. Sub LoadMArray ()
  145.     mArray(0) = m0
  146.     mArray(1) = m1
  147.     mArray(2) = m2
  148.     mArray(3) = m3
  149.     mArray(4) = m4
  150.     mArray(5) = m5
  151.     mArray(6) = m6
  152.     mArray(7) = m7
  153.     mArray(8) = m8
  154.     mArray(9) = m9
  155.     mArray(10) = mA
  156.     mArray(11) = mB
  157.     mArray(12) = mC
  158. End Sub
  159.  
  160. Function mName (iWhich As Long) As String
  161.     'return the mouse setting description
  162.     mName = mArray(iWhich)
  163. End Function
  164.  
  165. Sub StopDemo ()
  166.     Command1(IndexStart).Caption = capStart
  167.     Timer1.Interval = 0
  168.     DoEvents
  169.     Caption = SavedCaption
  170.     Panel3D1.FloodPercent = 0
  171.     Screen.MousePointer = 0
  172. End Sub
  173.  
  174. Sub Timer1_Timer ()
  175.     If Command1(IndexStart).Caption = capStart Then Exit Sub
  176.     Static iCount As Integer        'counter
  177.     Static iDirection As Integer    'which direction are we going
  178.     Const iBump = 10
  179.     Const lMax& = 120
  180.     Const iDown = True
  181.     Const iUp = False
  182.     Dim lCurMouse As Long           'current mouse
  183.     Dim dPct As Double
  184.     If iDirection = iDown Then      'set the counter
  185.         iCount = iCount - iBump
  186.         If iCount <= 0 Then
  187.             iCount = 0
  188.             iDirection = iUp
  189.         End If
  190.         Screen.MousePointer = MouseRestore()    'restore the mouse
  191.         lCurMouse = Screen.MousePointer
  192.         Caption = "MouseRestore()  [" & mName(lCurMouse) & " (" & lCurMouse & ")]"
  193.     Else
  194.         iCount = iCount + iBump
  195.         If iCount >= lMax Then
  196.             iCount = lMax
  197.             iDirection = iDown
  198.         End If
  199.         Screen.MousePointer = MouseSet(iCount \ iBump)  'set the mouse
  200.         lCurMouse = Screen.MousePointer
  201.         Caption = "MouseSet(" & mName(lCurMouse) & ")  [" & lCurMouse & "]"
  202.     End If
  203.     lCurMouse = Screen.MousePointer
  204.     dPct = (lCurMouse / lMax) * 1000&
  205.     Panel3D1.FloodPercent = dPct
  206. End Sub
  207.  
  208.